/**
 * UITableViewCell+GTExtension.m
 *
 * The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License");
 * you may not use this file except in compliance with the License. You may obtain a copy of the License 
 * at http://www.mozilla.org/MPL/
 * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND,
 * either express or implied. See the License for the specific language governing rights and limitations 
 * under the License.
 *
 * The Original Code is gcast-toolbox4iphone.
 *
 * The Initial Developers of the Original Code is Giannandrea Castaldi.
 */

#import "UITableViewCell+GTExtension.h"


@implementation UITableViewCell (GTExtension)

+ (id)cellForTableView:(UITableView*)aTableView nibName:(NSString*)aNibName {
  id cell = [aTableView dequeueReusableCellWithIdentifier:aNibName];
  if (cell == nil) {
    UIViewController *controller = [[UIViewController alloc] initWithNibName:aNibName bundle:nil];
    cell = controller.view;
    [controller release];
  }
  return cell;
}

+ (id)multiLineTextCellWithText:(NSString*)aText font:(UIFont*)aFont reuseIdentifier:(NSString*)reuseIdentifier {
  UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier] autorelease];
  cell.selectionStyle = UITableViewCellSelectionStyleNone;
  cell.textLabel.lineBreakMode = UILineBreakModeWordWrap;
  cell.textLabel.numberOfLines = 0;
  cell.textLabel.font = aFont;
  cell.textLabel.text = aText;
  return cell;
}

+ (CGSize)sizeForMultiLineTextCellWithText:(NSString*)aText font:(UIFont*)aFont constrainedToSize:(CGSize)size {
  return [aText sizeWithFont:aFont constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap];
}

@end

